<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Deferred的应用</title>
    <script src="../js/jquery-1.12.4.js"></script>
</head>
<body>

    <script>
        // 注意：调用ajax方法时，返回 referred 对象 ，此对象必须有相应的属性或方法
        // 而then方法就是referred对象的方法，用于获取成功响应的数据（当然，也能处理错误的响应）
        // 执行完then方法后，调用$.ajax发起第二个请求，并返回新的 referred 对象，便于下一个then方法读取响应的结果，以此类推
        // 总结：虽然也是嵌套调用，但最多也只嵌套两层
        // 因此，延迟对象可以理解为：deferred对象就是jQuery的回调函数解决方案，从而避免了无底洞的嵌套调用（调用地狱）。
        $.ajax({
            url:'one.do'
        }).then(function( data ){
            console.log( data ) ;
            // 返回新的延迟对象，便于下一个 then 方法访问
            return $.ajax({url:'two.do'}) ;
        }).then(function( data ){
            console.log( data ) ;
            return $.ajax({url:'three.do'})
        }).then(function( data ){
            console.log( data )
        })  ;





    </script>

</body>
</html>